#if !defined(AFX_LISTCTRLIPACCESSSTATESEDIT_H__1A5D8A0E_9BB5_47B9_9775_26D481D9FBEB__INCLUDED_)
#define AFX_LISTCTRLIPACCESSSTATESEDIT_H__1A5D8A0E_9BB5_47B9_9775_26D481D9FBEB__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ListCtrlIpAccessStatesEdit.h : header file
//

#include "ListCtrlIpAccessStatesShow.h"

/////////////////////////////////////////////////////////////////////////////
// CListCtrlIpAccessStatesEdit window

class CListCtrlIpAccessStatesEdit : public CListCtrlIpAccessStatesShow
{
// Construction
public:
	CListCtrlIpAccessStatesEdit();
	virtual ~CListCtrlIpAccessStatesEdit();

// Attributes
public:
	CMap<CString,LPCTSTR,CString,LPCTSTR> m_mapNewGroupNameToOriginal;
protected:
	CCopyableMap<CString,LPCTSTR,CCopyableMap<CString,LPCTSTR,EIpAccessState,EIpAccessState>,CCopyableMap<CString,LPCTSTR,EIpAccessState,EIpAccessState>&> m_mapBackupGroups;

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CListCtrlIpAccessStatesEdit)
protected:
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	BOOL RenameGroup(const CString &strOriginalName, const CString &strNewName);
	BOOL IsGroupChanged(const CString &strTestedGroupName);
	void GetChangedGroups(CCopyableMap<CString,LPCTSTR,CStringItemsArray,CStringItemsArray&> &mapGroups);
	void Reset();
protected:
	void HitState(CPoint &point);
	void ChangeState(int iItem, int iSubItem);

	// Generated message map functions
protected:
	//{{AFX_MSG(CListCtrlIpAccessStatesEdit)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LISTCTRLIPACCESSSTATESEDIT_H__1A5D8A0E_9BB5_47B9_9775_26D481D9FBEB__INCLUDED_)
